home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_gnu / gnat200s / features < prev    next >
Text File  |  1996-01-30  |  6KB  |  240 lines

  1. GNAT IMPLEMENTED FEATURES LIST
  2. Current as of 11/30/94
  3.  
  4. Here is the list of implemented and not implemented features. A more precise
  5. description of the GNAT system is provided in the file 'gnatinfo.txt', which is
  6. part of the GNAT distribution.
  7.  
  8. Latest features in GNAT version 2.0
  9. ===================================
  10.  
  11.    Tasking is now available on the IBM OS/2 version
  12.    So tasking is now currently working on Sparc SunOS, SGI and OS/2.
  13.  
  14.    Pragma Import (for variables)
  15.  
  16.    Decimal types
  17.    Decimal formal types
  18.    Instantiations of decimal types
  19.  
  20.    Range checks on floating point types
  21.  
  22.    package Decimal
  23.    package Direct_IO
  24.    package Sequential_IO
  25.    package Ada.Dynamic_Priorities
  26.    package Ada.Streams
  27.    package Interfaces.Fortran
  28.    package Calendar
  29.  
  30.    All the wide string packages are now complete
  31.  
  32.    Note that all specs of Ada.xxx units are updated to match the latest
  33.    Ada 9X spec (RM 5.7 plus a few changes made at the latest WG9 meeting).
  34.    Probably the most notable change for users is that the names Status and
  35.    Set_Status in Ada.Command.Line have been changed to Exit_Status and
  36.    Set_Exit_Status. Also Ada.Strings.Constants is removed and is now a child
  37.    package of Ada.Strings.Maps, i.e. it is now Ada.Strings.Maps.Constants
  38.    and is found in a-stmaco.ads.
  39.  
  40.    limited conformance checking
  41.  
  42.    update of gnatchop with -s option (see gnatinfo.txt for details)
  43.    Updated documentation in gnatinfo.txt (for gnatgf, gnatchop, gnatbl)
  44.  
  45.    Delay Statements (on sparc-sunos, sgi and os/2 only)
  46.    Timed Entry Calls (on sparc-sunos, sgi and os/2 only)
  47.    Protected Objects (on sparc-sunos, sgi and os/2 only)
  48.    Requeue - limited use (on sparc-sunos, sgi and os/2 only)
  49.  
  50.    Derived types from subtypes
  51.  
  52.    Fixed-point handling, including decimal and ordinary fixed-point
  53.    handling, is now complete.
  54.  
  55. =======================================================================
  56.  
  57. Status of Features
  58.  
  59. The parser is a full Ada9X parser, which implements the Ada 9X language
  60. as defined by version 5.7 of the Draft International Standard. Semantic
  61. analysis and code generation are in constant evolution.
  62.  
  63. ============================================================================
  64. = All of Ada 83 is implemented EXCEPT the following unimplemented features =
  65. ============================================================================
  66.  
  67.    The Constrained attribute
  68.  
  69.    Derived types from private types
  70.  
  71.    The following language-defined checks are not implemented:
  72.  
  73.       Discriminant Check
  74.       Elaboration Check
  75.       Length Check
  76.       Range Check on the elaboration of a subtype_indication
  77.  
  78.    limited Conformance checking
  79.   
  80.    Language-Defined Pragmas
  81.      Pack for arrays
  82.  
  83.    Record Layout
  84.      Record Representation Clauses
  85.  
  86.    Shared Variables
  87.  
  88.    Input-Output for Integer for type Long_Long_Integer.
  89.    (only Put currently supported for Long_Long_Integer not Get)
  90.  
  91. ==================================================
  92. = All of Ada 9X implemented except the following =
  93. ==================================================
  94.  
  95.   CORE
  96.  
  97.     Aggregates for tagged types
  98.  
  99.     User-defined Initialize/Adjust/Finalize in complex cases:
  100.       records or arrays containing controlled components
  101.       functions returning controlled objects
  102.  
  103.     Protected entry families
  104.     Condition protected entry calls
  105.     Requeue without abort
  106.     Requeue Statement involving task entries
  107.  
  108.     No range checking on modular types
  109.  
  110.     Input-Output for Modular Types
  111.     (Only Put is supported currently, Get not yet supported)
  112.  
  113.     Input-Output for Decimal Types
  114.     Input-Output for Wide Text
  115.  
  116.     Objects of type with unknown discriminants
  117.  
  118.    Unimplemented subprograms in package Ada.Text_IO
  119.       Flush
  120.       Look_Ahead
  121.       Get_Immediate
  122.  
  123.     Accessibility checks
  124.  
  125.     Stream-Oriented Attributes of Specific Types
  126.     Stream-Oriented Attributes of Class-Wide Types
  127.  
  128.   ANNEX A. PREDEFINED LANGUAGE ENVIRONMENT
  129.  
  130.     Ada.Exceptions
  131.     Ada.Interrupts
  132.     Ada.Streams.Stream_IO
  133.     Ada.Wide_Text_IO
  134.     Ada.Wide_Text_IO.Complex_IO
  135.  
  136.   ANNEX B. INTERFACING TO OTHER LANGUAGES
  137.  
  138.     The body of Interfaces.COBOL is not yet implemented
  139.  
  140.   ANNEX C. SYSTEMS PROGRAMMING
  141.  
  142.     Machine code insertions or intrinsic subprograms
  143.     Interrupt support
  144.     The body of packag Interrupts is not implemented
  145.     Preelaboration requirements are not fully met
  146.     Shared Variable Control is not fully implemented
  147.  
  148.   ANNEX D. REAL-TIME SYSTEMS
  149.  
  150.     Tasking restrictions
  151.     Synchronous task control
  152.     Asynchronous task control (optional in any case)
  153.  
  154.   ANNEX E. DISTRIBUTED SYSTEMS
  155.  
  156.     The distribution annex is under active development. Stub generation
  157.     is not yet implemented, and there is no configuration control program.
  158.     All pragmas are fully implemented.
  159.  
  160.   ANNEX F. INFORMATION SYSTEMS
  161.  
  162.     Machine_Radix attribute definition clause
  163.     Ada.Text_IO.Editing
  164.     Ada.Wide_Text_IO.Editing
  165.  
  166.   ANNEX G. NUMERICS
  167.  
  168.     Accuracy requirements for floating-point and complex not fully met
  169.  
  170.   ANNEX H. SAFETY AND SECURITY
  171.  
  172.     pragma Normalize_Scalars
  173.     pragma Reviewable
  174.     pragma Inspection_Point
  175.     Safety and security restrictions
  176.  
  177.   ANNEX I. OBSOLESCENT FEATURES
  178.  
  179.     The constrained attribute
  180.     Interrupt entries
  181.  
  182.   ANNEX J. LANGUAGE-DEFINED ATTRIBUTES
  183.  
  184.     Adjacent
  185.     Alignment
  186.     Bit_Order
  187.     Body_Version
  188.     Caller
  189.     Ceiling
  190.     Compose
  191.     Constrained
  192.     Copy_Sign
  193.     Definite
  194.     Exponent
  195.     External_Tag
  196.     Floor
  197.     Fraction
  198.     Identity
  199.     Input
  200.     Leading_Part, 
  201.     Max_Size_In_Storage_Elements
  202.     Machine
  203.     Model
  204.     Output
  205.     Pred for fixed-point types
  206.     Pred for floating-point types
  207.     Read
  208.     Remainder
  209.     Rounding
  210.     Scaling
  211.     Storage_Pool,
  212.     Succ for fixed-point types
  213.     Succ for floating-point types
  214.     Truncation
  215.     Unbiased_Rounding
  216.     Valid
  217.     Version
  218.     Write
  219.  
  220.   ANNEX K. LANGUAGE DEFINED PRAGMAS
  221.  
  222.     Atomic
  223.     Atomic_Components
  224.     Attach_Handler
  225.     Controlled
  226.     Discard_Names
  227.     Export 
  228.     Inspection_Point
  229.     Interrupt_Handler
  230.     Linker_Options
  231.     Locking_Policy
  232.     Memory_Size
  233.     Normalize_Scalars
  234.     Queuing_Policy
  235.     Restrictions
  236.     Reviewable
  237.     Shared
  238.     Task_Dispatching_Policy
  239.     Volatile_Components
  240.